/******************************************
 * 发行客户收款单
 ******************************************/

//收款单 选择单据的回调函数
function skQueryFunc(){
    $('#khk_dataQuery').attr('onclick','skJsQuery(this)');
    var allRows=$('#khk_GEN_DATALIST').datagrid('getRows');
    var oldRows = $('#cbk_addItemDatagrid').datagrid('getRows');
    for(var i = 0;i<allRows.length;i++){
        for(var j = 0;j<oldRows.length;j++){
            if(allRows[i].SOURCE_ID == oldRows[j].JS_ITEM_ID){
                $('#khk_GEN_DATALIST').datagrid('deleteRow',i);
            }
        }
    }
}
// 收款单 自动金额执行的方法（暂时不使用）
function skautoMoney(obj){
    var prefix = $(obj).attr('pre');
    var allRows = $('#'+prefix+'_addItemDatagrid').datagrid('getRows');
    if(allRows.length==0){
        $.messager.alert('提示','没有明细数据，无法自动金额！');
    }else{
        for(var i = 0;i<allRows.length;i++){
            $('#'+prefix+'_addItemDatagrid').datagrid('endEdit',i);
            allRows[i].NOW_MONEY = allRows[i].NEED_MONEY;
            $('#'+prefix+'_addItemDatagrid').datagrid('beginEdit',i);
            $('#'+prefix+'_addItemDatagrid').datagrid('endEdit',i);
            $('#'+prefix+'_addItemDatagrid').datagrid('refreshRow',i);
        }
    }
}
// 收款单 选择单据中的查询按钮调用的方法
function skJsQuery(obj){
    var vendorId =$('#cbk_addWinTable input[qucln=JS_ID]').val();
    var prefix=$(obj).attr('pre');
    var dsId=$(obj).attr('dsid');
    var resultDG = 'GEN_DATALIST';
    var comUseConf='commUse';
    var comUse = parseConfig(prefix+"_"+comUseConf);
    var otherConfig='1-JS_ID-'+vendorId+'-inc|+';
    var useConf = otherConfig+comUse;
    $('#'+prefix+"_"+resultDG).datagrid({
        url:_m_url+'framework/loadDataQ',
        queryParams:{'dsId':dsId,'config':useConf},
        onLoadSuccess:function(){
            var dataRows = $('#'+prefix+"_"+resultDG).datagrid('getRows');
            var oldRows = $('#cbk_addItemDatagrid').datagrid('getRows');
            if(dataRows.length >0){
                for(var i =0;i<dataRows.length;i++){
                    for(var j = 0;j<oldRows.length;j++){
                        if(dataRows[i].JS_ITEM_ID = oldRows[j].SOURCE_ID){
                            $('#'+prefix+"_"+resultDG).datagrid('deleteRow',i);
                        }
                    }
                }
            }
        }
    });
}

// 收款单弹出窗口的确定按钮
function _cbk_sure1(){
    var chId = $('#cbk_addWinTable input[qucln=CH_ID]').val();  		// 主表主键ID
    $('#khk_GEN_PARENT_PANEL').window('close');
    var selRows = $('#khk_GEN_DATALIST').datagrid('getSelections');
    var oldRows = $('#cbk_addItemDatagrid').datagrid('getRows');
    var oldlength = oldRows.length;
    var sortNum = getSortNum('cbk');								  	// 顺序号
    for ( var i = 0; i < selRows.length; i++) {
        $('#cbk_addItemDatagrid').datagrid('appendRow', {
            CH_ID:chId,
            INPUT_DATE:selRows[i].INPUT_DATE,
            YW_INPUT_DATE:selRows[i].YW_INPUT_DATE,
            DJ_ID:selRows[i].YW_ID,
            DJ_CODE:selRows[i].YW_CODE,
            YW_ID:selRows[i].YW_ID,
            YW_CODE:selRows[i].YW_CODE,
            TOTAL_MONEY:selRows[i].TOTAL_MONEY,
            C_DISCOUNT:selRows[i].C_DISCOUNT,
            REAL_MONEY:selRows[i].REAL_MONEY,
            NOW_MONEY:selRows[i].NOW_MONEY,
            YW_MEMO:selRows[i].YW_MEMO,
            SOURCE_ID:selRows[i].JS_ITEM_ID,
            THIS_NOW_MONEY:selRows[i].NOW_MONEY,
            SORT_NUMBER:sortNum+i+1
        })
    }
    //调用界面公式计算方法
    jsgsFunc();
}
//界面上对账单单号拉取明细的方法
function getDZItemForSk(obj){
    var kpId= $(obj).val();
    var chId = $('#cbk_addWinTable input[qucln=CH_ID]').val();  // 主表主键ID
    var sortNum = getSortNum('cbk');							// 顺序号
    var oldRows = $('#cbk_addItemDatagrid').datagrid('getRows');
    var oldlength=oldRows.length;
    $.ajax({
        type:'post',
        url:_m_url+'fxa/getDZItemList',
        data:{'djId':kpId,'flag':'s'},
        success:function(data){
            $('#cbk_addItemDatagrid').datagrid('loadData',{total: 0, rows:[]});
            if(oldlength == 0){
                for(var i = 0;i<data.length;i++){
                    $('#cbk_addItemDatagrid').datagrid('appendRow', {
                        CH_ID:chId,
                        INPUT_DATE:data[i].INVOICE_DATE,
//						YW_INPUT_DATE:data[i].YW_INPUT_DATE,
                        DJ_ID:data[i].DJ_ID,
                        DJ_CODE:data[i].DJ_CODE,
                        TOTAL_MONEY:data[i].TOTAL_MONEY,
                        C_DISCOUNT:data[i].C_DISCOUNT,
                        REAL_MONEY:data[i].REAL_MONEY,
                        NOW_MONEY:data[i].NOW_MONEY,
                        MEMO:data[i].YW_MEMO,
                        SOURCE_ID:data[i].INV_ITEM_ID,
                        THIS_NOW_MONEY:data[i].NOW_MONEY,
                        SORT_NUMBER:sortNum+i+1
                    })
                }
            }else{
                for ( var j = 0; j < data.length; j++) {
                    for(var k = 0; k < oldlength;k++){
                        if(data[j].JS_ITEM_ID == oldRows[k].SOURCE_ID ){
                            break;
                        }else{
                            if(k==(oldlength-1)){
                                $('#cbk_addItemDatagrid').datagrid('appendRow', {
                                    CH_ID:chId,
                                    INPUT_DATE:data[j].INPUT_DATE,
                                    YW_INPUT_DATE:data[j].YW_INPUT_DATE,
                                    DJ_ID:data[j].DJ_ID,
                                    DJ_CODE:data[j].DJ_CODE,
                                    TOTAL_MONEY:data[j].TOTAL_MONEY,
                                    C_DISCOUNT:data[j].C_DISCOUNT,
                                    REAL_MONEY:data[j].REAL_MONEY,
                                    NOW_MONEY:data[j].NOW_MONEY,
                                    MEMO:data[j].MEMO,
                                    SOURCE_ID:data[j].INV_ITEM_ID,
                                    THIS_NOW_MONEY:data[j].NOW_MONEY,
                                    SORT_NUMBER:sortNum+j+1
                                })
                            }
                        }
                    }
                }
            }
            //调用界面公式计算方法
            jsgsFunc();
        }
    });
}
//界面上客户Id拉取预收结余以及使用预收
function getYSMoney(obj){
    var clientId = $('#cbk_addWinTable').find('input[qucln=CLIENT_ID]').val();
    var jsMonth=$('#cbk_addWinTable').find('input[qucln=JS_MONTH]').val();
    var jsId=$('#cbk_addWinTable').find('input[qucln=JS_ID]').val();
    $.ajax({
        type:'post',
        url:_m_url+'fxa/jzDataByClient',
        data:{'clientId':clientId},
        success:function(data){
            var ysjy = data.ysjy;
            if(ysjy == null || ysjy == ''){
                ysjy = 0;
            }else{
                ysjy = (parseFloat(ysjy)).toFixed(2);
            }
            //给预收结余列赋值
            $('#cbk_addWinForm').find('input[qucln=PRE_MONEY]').val(ysjy);
            $('#cbk_addWinForm').find('input[qucln=PRE_MONEY]').attr('chan','T');
            $('#cbk_addWinForm').find('input[qucln=PRE_MONEY]').next().val(ysjy);
        }
    })
    //调用界面公式计算方法
    jsgsFunc();
}
//获取本单审稿费总金额
function appFunc(flag){
    //预付余额
    var syje = 0;
    var bdje = 0;
    var sum=0;
    var allRows = $('#red_addItemDatagrid').datagrid('getRows');
    for(var i = 0; i <allRows.length ; i++){
        var djTp = allRows[i].DJ_TYPE ;
        if(djTp =='SH'){
            zsk = parseFloat(allRows[i]["REAL_MONEY"]);
            sum +=zsk;
        }else{
            syje=0;
        }

    }

    if(flag == 0){ //使用预收
        syje = (parseFloat(sum)).toFixed(2);
    }
    return syje;
}
/***************************使用预收********************************************************/
//预收的保存
function saveDZYS(){
    //获取本单的主键和预收单的数据
    var skpk = $('#red_addWinTable input[qucln = CBSRED_ID]').val();
    //var YSID = $('#redhx_DATA_DATALIST').find('input[qucln=YS_CODE]').val();
    var allRows = $('#redhx_DATA_DATALIST').datagrid('getRows');
    for(var i = 0;i<allRows.length;i++){
        var ysId = allRows[i].YS_CODE;  			//预收Id
    }
    var YSID=ysId;
    var PUB_ID = $('#red_addWinTable input[qucln = PUB_ID]').val();
    var ysStr = $('#red_t_ysId').val();
    var skOptions = new Array();
    var ysAllOption= new Array();
    var ysList = new Array();
    ysList = ysStr.split(";");
    for(var i=0;i<ysList.length;i++){
        var option = {};
        var ysOption = new Array();
        ysOption = ysList[i].split('|');
        option.ysId = ysOption[0];
        option.useMoney = ysOption[1];
        ysAllOption.push(option);
    }
    skOptions.push(ysAllOption);
    $.ajax({
        type:'post',
        url:_m_url+'fxa/saveCBSSYYS?skId='+skpk+'&YSID='+YSID+'&PUB_ID='+PUB_ID,
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        data:JSON.stringify(skOptions),
        success:function(data){
        }
    })
}
//使用预收按钮的执行方法
function useYF(obj,dgUrl,queryParams){
    //cbk  red
    // cjb    redhx
    var dsId = $(obj).attr('dsId');
    var clientId = $('#red_addWinForm').find('input[qucln=PUB_ID]').val(); 	//客户id
    var chid = $('#red_addWinForm').find('input[qucln=CBSRED_ID]').val();	//主表主键
    if(clientId == null || clientId == ''){
        $.messager.alert('提示','请选择出版社！');
        return;
    }
//加载中间表的数据
    $.ajax({
        type:'post',
        url:_m_url+'fxa/findCBSHXYs',
        data:{'dsId':'ds_cw_reader_item2',"clientId":clientId},
        success:function(tempData){
            for ( var i = 0; i < tempData.length; i++) {
                var chidcache =  tempData[i].CBSRED_ID;
            }
            var dgUrl=_m_url+'fxa/findCBSHXYs';
            var queryParams={'dsId':'ds_cw_reader_item2','clientId':clientId,'chid':chid,'chidcache':chidcache};
            $.ajax({
                type:'post',
                url:_m_url+'fxa/queryCBSYS',
                data:{'dsId':'ds_cw_reader_item2','clientId':clientId,'chid':chid,'chidcache':chidcache},
                success:function(data){
                    //根据现成的数据展现窗口
                    _data_qw('redhx','ds_cw_reader_item2','redhx_sure1','77','thenData',data,dgUrl,queryParams);	//预收 44
                }
            });
        }
    })
}
//加载数据完成之后的回调函数
function thenData(prefix){
    //去掉charbox列
    //1,获取需要操作的datagrid
    $('#'+prefix+'_DATA_TAB_PANEL').find('td[field=kk]').remove();
    //获取主键Id
    var skId = $('#red_addWinForm').find('input[qucln=CBSRED_ID]').val();
    //使用预收
    var ysje = $('#redhx_addWinForm').find('input[qucln=USE_MONEY_TX]').val();
    if(ysje == null || ysje == ''){
        ysje =0;
    }

    //给弹出窗口中的按钮后加剩余金额
    var syje = 	appFunc(0);

    if(syje < 0){
        $('#redhx_commDataLeftD').append("可冲减预付金额为："+syje+",金额为负数，建议调整主表金额！");
    }else{
        $('#redhx_commDataLeftD').append("本单审稿费总金额为："+syje);//+",本单使用预付总金额为："+ysje
    }
    var allData = new Array();
    //加载当前结算单   在关联表中使用的金额赋值
    if(skId !=null && skId !=''){
        $.ajax({
            type:'post',
            url:_m_url+'fxa/findDzysData',
            data:{'skId':skId},
            async:false,
            success:function(data){
                allData = data;
            }
        })
    }
    var allRows = $('#redhx_DATA_DATALIST').datagrid('getRows');
    for(var i = 0;i<allRows.length;i++){
        var ysId = allRows[i].YS_ID;  			//预收Id
        var zje = allRows[i].YS_MONEY;  		//预收金额
        var zyMoney = allRows[i].YW_CODE.YS_MONEY_LOCK; //预收锁定金额
        var syMoney = allRows[i].YS_MONEY_USED; //已经使用的预收金额
        if(zje == null || zje == ''){
            zje =0;
        }
        if(zyMoney == null || zyMoney == ''){
            zyMoney = 0;
        }
        if(syMoney == null || syMoney == ''){
            syMoney = 0;
        }
        //总的预收金额-锁定金额-已使用预收金额  如果小于0 则不出现在列表数据中
        if(zje-zyMoney-syMoney<0){
            $('#redhx_DATA_DATALIST').datagrid('deleteRow',i);
        }
        //如果查询数据返回length>0
        if(allData.length>0){
            for(var j=0;j<allData.length;j++){
                //循环  如果当前数据的ysId = 返回数据的ysId  则将返回数据的使用金额 填充到当前行
                if(ysId == allData[j].YS_ID){
                    allRows[i].USE_MONEY_TX = allData[j].YS_MONEY_OCCUPY;		//使用金额赋值占用金额  YS_MONEY_OCCUPY
                    allRows[i].YS_MONEY_LOCK = (allRows[i].YS_MONEY_LOCK - allData[j].YS_MONEY_OCCUPY);
                    allRows[i].YS_MONEY_KY =  (allRows[i].YS_MONEY_KY + allData[j].YS_MONEY_OCCUPY);

                    $('#redhx_DATA_DATALIST').datagrid('beginEdit',i);
                    $('#redhx_DATA_DATALIST').datagrid('endEdit',i);
                    $('#redhx_DATA_DATALIST').datagrid('selectRow',i);  //如果有使用金额则选中该行
                }
            }
        }
    }
}

//使用预收按钮中的确定按钮
function _redhx_sure(){
    //获取收款ID
    var chid = $('#red_addWinTable input[qucln=CBSRED_ID]').val();

    //获取弹窗中的全部数据
    var selRows = $('#redhx_DATA_DATALIST').datagrid('getRows');
    //预收金额
    var ysje = $('#redhx_addWinForm').find('input[qucln=YS_MONEY]').val();
    ysje = parseFloat(ysje).toFixed(2);
    //已使用金额
    var ysyje = $('#redhx_addWinForm').find('input[qucln=YS_MONEY_USED]').val();
    ysyje = parseFloat(ysyje).toFixed(2);
    //占用金额
    var zyje = $('#redhx_addWinForm').find('input[qucln=YS_MONEY_LOCK]').val();
    zyje = parseFloat(zyje).toFixed(2);
    //预付余额=预收金额-已使用金额-占用金额
    var yfye = parseFloat(ysje - ysyje - zyje).toFixed(2);
    //关闭弹出窗口的editor
    for(var i=0;i<selRows.length;i++){
        var index=$('#redhx_DATA_DATALIST').datagrid("getRowIndex",selRows[i]);
        $('#redhx_DATA_DATALIST').datagrid('endEdit',index);
    }
    var allMoney = 0;
    var str = "";
    for(var i = 0;i<selRows.length;i++){
        if(selRows[i].USE_MONEY_TX > selRows[i].PREPAID_BALANCE){
            $.messager.alert('提示','选中行中存在使用预付大于可用预付的数据！请检查');
            return;
        }else{
            if(selRows[i].USE_MONEY_TX == null || selRows[i].USE_MONEY_TX == ''){
                selRows[i].USE_MONEY_TX = 0;
            }
            if(selRows[i].USE_MONEY_TX != 0){
                allMoney = parseFloat(allMoney)+ parseFloat(selRows[i].USE_MONEY_TX);
                //将使用预收的预收Id和预收金额进行拼接放到前面界面上
                //拼接方式：ysId1|ysMoney1;ysId2|ysMoney2;......
                str += selRows[i].YS_CODE+'|'+parseFloat(selRows[i].USE_MONEY_TX);
                if(i<selRows.length-1){
                    str +=';';
                }
            }
        }
    }
    allMoney = allMoney.toFixed(2);
    if(parseFloat(allMoney) > parseFloat(yfye)){
        $.messager.alert('温馨提示','亲，本单使用金额'+allMoney+'不可大于(应收款-使用到款)'+yfye+'！请修改本单使用金额');
        return;
    }else{
        //关闭弹窗
        $('#redhx_DATA_PARENT_PANEL').window('close');
        //把str 放入界面上
        $('#red_t_ysId').val(str);
        //点击确定的时候向中间表插入数据
        saveDZYS();
        //给使用预收列赋值
        $('#red_addWinForm').find('input[qucln=USE_MONEY]').val(allMoney);
        $('#red_addWinForm').find('input[qucln=USE_MONEY]').attr('chan','T');
        $('#red_addWinForm').find('input[qucln=USE_MONEY]').next().val(allMoney);
        ////调用计算方法
        //jsgsFunc();
    }
}

//使用预收中的自动金额按钮
function _redhx_zdjeFunc(){
    var syje = 	appFunc(0);
    var allRows = $('#redhx_DATA_DATALIST').datagrid('getRows');
    if(allRows.length == 0){
        $.messager.alert('温馨提示','亲，没有预付数据可使用！');
        return;
    }else{
        if(syje <= 0){
            $.messager.alert('温馨提示','亲，当前单据可用金额为零，不需使用预付金额！');
            return;
        }else{
            for(var i =0;i<allRows.length;i++){
                var kyMoney = allRows[i].PREPAID_BALANCE; //预收余额
                if(kyMoney == null || kyMoney == ''){
                    kyMoney = 0;
                }
                if(syje > 0){
                    if(syje > kyMoney){
                        allRows[i].USE_MONEY_TX = allRows[i].PREPAID_BALANCE;
                    }else{
                        allRows[i].USE_MONEY_TX = syje;
                    }
                    $('#redhx_DATA_DATALIST').datagrid('beginEdit',i);
                    $('#redhx_DATA_DATALIST').datagrid('endEdit',i);
                    syje = syje - kyMoney;
                }
            }
        }
    }
}

/***************************使用预收结束********************************************************/
//重写保存方法 
function overRightSave(obj){
    //获取计算差异和确认差异
    var jscy = $('#red_addWinTable input[qucln = JISUAN_CHAYI]').val();
    var qrcy = $('#red_addWinTable input[qucln = ENSURE_CHAYI]').val();
    if(jscy == '' || jscy == null){
        jscy = 0;
    }
    jscy = (parseFloat(jscy)).toFixed(2);
    if(qrcy == '' || qrcy == null){
        qrcy = 0;
    }
    qrcy = (parseFloat(qrcy)).toFixed(2);
    if(jscy != qrcy){
        $.messager.alert("温馨提示",'亲，确认差异和计算差异不一致，请修改！');
        return;
    }
    //调用本表的保存方法
    common_save(obj);
}
////重写返回按钮
//function khskRollBack(obj){
//    var closeFlag=true;   // 返回false就取消关闭
//    var prefix=$(obj).attr("pre");
//    var sflag=$(obj).attr("sflag");
//    var keyVaules_m = parsePKStr(prefix+"_addWinForm");//主明细的表单Id
//    var saveObj = $('#'+prefix+"_M_UBUTN a[id="+prefix+"_SAVE_BUT]");
//    if(sflag=='m'){    // 主明细
//        var m_key=keyVaules_m.split("-")[0];
//        var m_val=keyVaules_m.split("-")[1];
//        if(typeof(m_val)=='undefined'||m_val==""||m_val==undefined||m_val=='undefined'){   // 添加页面
//            $.messager.confirm("操作提示", "数据已经改变，您确认保存吗？", function (data) {
//                if (data){
//                    $(obj).attr("flag","1");
//                    $(obj).attr("oflag","1");
//                    $(obj).attr("sou","1");
//                    $(obj).attr("isBack","true")
//                    overRightSave(saveObj);  // 确认按钮调用保存事件
//                    closeFlag=false;
//                }else{
//                    $('#'+prefix+'_m_parentPanel').window('close');  // 取消直接关闭
//                }
//            });
//        }else{    // 详情页面
//            // 遍历页面所有元素判断是否有元素发生改变
//            var values=getFormJsons(prefix+"_addWinForm");    // 得到主表的数据
//            var changes=$('#'+prefix+"_addItemDatagrid").datagrid('getChanges');   // 得到明细的数据
//            if(values==0&&changes==0){
//                $('#'+prefix+'_m_parentPanel').window('close');  // 没有修改表单任何元素的时候直接关闭
//            }else{   // 有修改元素的时候
//                $.messager.confirm("操作提示", "数据已经改变，您确认保存吗？", function (data) {
//                    if (data){
//                        $(obj).attr("flag","1");
//                        $(obj).attr("oflag","1");
//                        $(obj).attr("sou","2");
//                        $(obj).attr("isBack","true")
//
//                        overRightSave(saveObj);  // 确认按钮调用保存事件
//                        closeFlag=false;
//                    }else{
//                        $('#'+prefix+'_m_parentPanel').window('close');  // 取消直接关闭
//                    }
//                });
//            }
//        }
//    }
//}
//使用预收中的清除金额按钮方法
function _redhx_remove(){
    var chid = $("#red_addWinTable").find("input[qucln='CBSRED_ID']").val();
    var rows = $("#redhx_DATA_DATALIST").datagrid("getRows");
    for ( var i = 0; i < rows.length; i++) {
        rows[i].USE_MONEY_TX = "";
        $("#redhx_DATA_DATALIST").datagrid("beginEdit",i);
        $("#redhx_DATA_DATALIST").datagrid("endEdit",i);
    }
    $.ajax({
        type:"post",
        url:_m_url+'fxa/cbsremovemoney',
        data:{'chid':chid},
        success:function(data){
        }
    })
}

